package com.pe.pgn.clubpgn.service.impl;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.pe.pgn.clubpgn.dao.PeriodoProgramaDao;
import com.pe.pgn.clubpgn.domain.ClpbPeriodo;
import com.pe.pgn.clubpgn.domain.ClpbPrograma;
import com.pe.pgn.clubpgn.domain.ClprPeriodoPrograma;
import com.pe.pgn.clubpgn.service.PeriodoProgramaService;

@Service("periodoProgramaService")
public class PeriodoProgramaServiceImpl extends GenericManagerImpl<ClprPeriodoPrograma, Long> implements PeriodoProgramaService{

	@Autowired
	private PeriodoProgramaDao periodoProgramaDao;

	public List<Map<String, Object>> periodoliquidacionPorPrograma(
			Long idPrograma) {
		return periodoProgramaDao.periodoliquidacionPorPrograma(idPrograma);
	}

	public List<ClpbPeriodo> finbPeriodos() {
		return periodoProgramaDao.finbPeriodos();
	}

	public ClpbPrograma finbPrograma(Long idPrograma) {
		return periodoProgramaDao.finbPrograma(idPrograma);
	}

	public void eliminarPeriodoPrograma(Long id) {
		periodoProgramaDao.eliminarPeriodoPrograma(id);
	}

	public void saveOrUpdatePeriodoPrograma(ClprPeriodoPrograma periodoprograma, ClpbPrograma clpbprograma) {
		periodoProgramaDao.saveOrUpdatePeriodoPrograma(periodoprograma,clpbprograma);
	}

	public boolean validarDescripcionPeriodoExiste(
			ClprPeriodoPrograma periodoprograma, ClpbPrograma clpbprograma) {
		return periodoProgramaDao.validarDescripcionPeriodoExiste(periodoprograma,clpbprograma);
	}

	public String validarNoTocarPeriodosExistentes(
			ClprPeriodoPrograma periodoprograma, ClpbPrograma clpbprograma) {
		return periodoProgramaDao.validarNoTocarPeriodosExistentes(periodoprograma,clpbprograma);
	}

	public ClprPeriodoPrograma findPeriodoProgramaById(Long id) {
		return periodoProgramaDao.findPeriodoProgramaById(id);
	}
}
